package com.wunong.smart.collection.domain.state.operation;

import com.wunong.smart.collection.application.context.CollectionContext;
import com.wunong.smart.collection.application.request.BaseCollectionRequest;

/**
 * @author create by zealot.zt
 */
public interface CollectionOperation<REQ extends BaseCollectionRequest> {

    /**
     * 执行对应操作
     *
     * @param context
     * @return
     */
    Object operate(CollectionContext<REQ> context);

    /**
     * 获取请求对象的Class对象
     *
     * @return
     */
    Class<REQ> getRequestClass();

}
